var mongodb = require('./db');

function User(user) {
	this.name = user.name;
	this.password = user.password;
	this.email = user.email;
}

module.exports = User;

//存储用户信息
User.prototype.save = function(callback) {
	//要存入数据库的文档
	var user = {
		name: this.name,
		password: this.password,
		email: this.email
	};

	//打开数据库
	mongodb.open(function(err, db) {
		if (err) {
			return callback(err);
		}

		db.collection('users', function(err, collection) {
			if (err) {
				mongodb.close();
				// 错误，返回err信息
				return callback(err);	
			}

			collection.insert(user, { safe: true }, function(err, user) {
				mongodb.close();

				if (err) {
					return callback(err);
				}
				callback(null, user);
			});
		});
	});
};

User.get = function(name, callback) {
	// 打开数据库
	mongodb.open(function(err, db) {
		if (err) {
			return callback(err);
		}

		db.collection('users', function(err, collection) {
			if (err) {
				mongodb.close();
				// 错误，返回err信息
				return callback(err);	
			}

			collection.findOne({ name: name }, function(err, user) {
				mongodb.close();

				if (err) {
					return callback(err);
				}
				callback(null, user);
			});
		});
	});
};
